package cn.huiyunche.base.service.interfaces;

import cn.huiyunche.base.service.vo.PageVo;
import cn.huiyunche.base.service.vo.QueryScoresVo;
import cn.huiyunche.base.service.vo.Result;

import javax.servlet.http.HttpServletRequest;
import java.util.Map;

public interface PaymentmentService {

    /**
     * @param request
     * @param response
     * @Title: payfinish
     * @Description: 根据webhook返回信息保存订单支付信息
     * @return: void
     */
    Boolean payfinish(HttpServletRequest request);

    /**
     * @param page
     * @return
     * @Title: getListByPage
     * @Description: 根据用户id查询支付历史
     * @return: Result<Map<String,Object>>
     */
    Result<Map<String, Object>> getListByPage(PageVo page);

    /**
     * 根据客户订单id 查询支付记录
     *
     * @param orderId
     * @return
     */
    QueryScoresVo getOrderCost(Long orderId);

    /**
     * @param customerOrderId 客户订单id
     * @param score           是否使用积分 0:未使用 1:使用
     * @return Result<Object>
     * @Title: 支付初始化方法
     * @Description: 支付初始化方法
     */
    Result<Object> payInit(long customerOrderId, String payType, Integer score);

}
